package com.littleu.market.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.littleu.market.dto.user.RegisterDTO;
import com.littleu.market.model.UserDO;

public interface IUserService extends IService<UserDO> {

    /**
     * 新建用户
     *
     * @param validator 新建用户校验器
     * @return 创建的用户
     */
    UserDO createUser(RegisterDTO validator);

    /**
     * 根据用户名检查用户是否存在
     *
     * @param username 用户名
     * @return true 代表存在
     */
    boolean checkUserExistByUsername(String username);

    /**
     * 更具email检查用户是否存在
     *
     * @param email 邮箱
     * @return true 代表存在
     */
    boolean checkUserExistByEmail(String email);

    /**
     * 通过用户名称获取用户
     * @param username 用户名
     * @return 用户
     */
    UserDO getUserByUsername(String username);
}
